/**
 * 屏幕管理
 */
class ScreenControl extends egret.DisplayObjectContainer {
    /** 加载地图 */
    private mapItem: MapItem = new MapItem();
    /** 加载猪脚 */
    private role: Role = new Role();
    /** 加载色子 */
    private dice: Dice = new Dice();
    // /**  */
    // private drawPath = new DrawPath();
    /**加载控制面板 */
    private buildPanel: BuildPanel = new BuildPanel();
    /** 加载bgm */
    private bgm = RES.getRes("bgm_mp3");
    /** 加载开场动画 */
    private openAnimation = new OpenAnimation();

    public constructor() {
        super();
        this.once(egret.Event.ADDED_TO_STAGE, this.init, this);
    }

    private init() {

        /** test */
        /** 绘制地图 */
            // this.addChild(this.mapItem);
            // /** 绘制猪脚 */
            // this.mapItem.addChild(this.role);
            // /** 绘制色子 */
            // this.addChild(this.dice);
            // this.dice.addEventListener("get_roll_num", (evt) => {
            //     this.role.jump(145);
            // }, this);

        //     return;
        // /** 绘制坐标点 */
        // this.addChild(this.drawPath);

        // /** 绘制编辑模式控制面板 */
        // this.addChild(this.buildPanel);

        
        // this.addChild(this.openAnimation);

        this.openAnimation.addEventListener("go_into", () => {
            console.log("接收到了进入事件")
            this.stage.scaleMode = "noBorder";
            this.removeChild(this.openAnimation);
            /** 绘制地图 */
            this.addChild(this.mapItem);
            /** 绘制猪脚 */
            this.mapItem.addChild(this.role);
            /** 绘制色子 */
            this.addChild(this.dice)
            this.dice.addEventListener("get_roll_num", (evt) => {
                this.role.jump(evt.data);
            }, this);
        }, this);

        this.openBgm();
    }


    /** 激活bgm的按钮 */
    private openBgm() {
        const btn = Main.createBitmapByName("into_png");
        this.addChild(btn);
        Main.anchorCenter(btn);
        btn.x = this.stage.stageWidth * .5;
        btn.y = this.stage.stageHeight * .7;

        egret.Tween.get(btn, { loop: true })
            .to({ scaleX: .9, scaleY: .9 }, 100)
            .to({ scaleX: 1, scaleY: 1 }, 200);

        btn.touchEnabled = true;

        btn.addEventListener(egret.TouchEvent.TOUCH_TAP, () => {
            console.log("BGM Play!");
            this.bgm.play();
            this.addChild(this.openAnimation);
            btn.touchEnabled = false;
        }, this);
    }


}